package hxy.bytecode.spring;

import hxy.bytecode.spring.bean.SpringMain;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;

/**Description: 非WEB应用的Spring使用
 * @author eric
 * @date 11/6/19 8:36 AM
 */

@ComponentScan
public class SpringApp {
    public static void main(String[] args) {
        try (
                //初始化IOC容器
                AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringApp.class);
        ) {
            //通过IOC容器获得你要执行的业务代码的类
            SpringMain springMain = applicationContext.getBean(SpringMain.class);
            //通过IOC容器获取到的类执行你的业务代码，可以认为是整个Spring程序的入口了，所有的代码都应该写在这之后了。不能再随意使用new了。否则Spring无法接管。
            springMain.main();
        } finally {
            System.out.println("普通java程序(非Web应用)执行完成,IOC容器关闭。。。");
        }
//        原文链接：https://blog.csdn.net/qq_16557637/article/details/100513286
    }
}
